One or more aspects relate, in general, to processing within a computing environment, and in particular, to the debugging of computer code.
The debugging of code is performed to find errors in the code that prevent correct operation of the code. For debugging, as well as other services, such as, performance monitoring, program tracing, and so forth, systems provide ways to manage and track the instructions of the code. However, when applications include certain types of instructions, such as prefix instructions, the managing is to take into account these types of instructions, which may be handled differently.
Prefix instructions are used to modify subsequent instructions, and in one example, are used to extend addressability. For instance, different computer system architectures offer data addressing with different displacements providing varying sizes of directly addressable data ranges. As examples, the Power Architecture, offered by International Business Machines Corporation, Armonk, N.Y., provides data addressing with a 16-bit displacement providing a 64 KB (kilobyte) directly addressable data range, while the ×86 architecture, offered by Intel Corporation, provides data addressing with a 32-bit displacement providing a 4 GB (gigabyte) directly addressable data range.
The size of the directly addressable data range impacts and limits software applications. For instance, the size of global data areas, such as a Global Offset Table or Table of Contents used by software applications to locate global variables, is limited by the size of the directly addressable data range. As an example, if 16 bits is the maximum size of an immediate offset from a base register, then the size of the directly usable global data area is limited to 64 KB.